iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
自我挑戰組

JavaScript老學徒筆記—馬步篇系列 第 7

【Day6】如何檢查型別

  • 分享至 

  • xImage
  •  

前面提到「變數本身沒有型別問題,變數帶的值才有型別資訊」,所以要判斷型別,當然是去檢查變數所帶的值。

我們可以這樣來判斷變數的型別:

  • typeof 資料
  • typeof(資料)
typeof '洪七公';  //'string'
typeof 7749;     //'number'
typeof NaN;      //'number'
typeof true      //'boolean'
typeof {};      //'object'
typeof [];      //'object'
typeof null;      //'object'

用typeof檢查資料型別,回傳的都是字串,如果是為宣告的變數則回傳'undefined'。

如何判斷型別是否為NaN?

比較特別的是:

typeof NaN;      //'number'

假設楊康這個小屁孩在應該填寫數字的表單裡面打了一堆亂碼,回傳給JavaScript判斷,parseInt()之後會給我們NaN的結果,此時就不能使用(typeof(xx) ! == number)來判斷,因為遇到 typeof NaN的回傳值會是'number'。

※ parseInt()可以用來將資料轉為整數,由字串最左邊開始轉換,一值轉換到字串結束或遇到非數字字元為止。

這時要使用 isNaN() 來判斷傳回的資料是否為'NaN',如果不是,傳回的是false,才進行後面的計算。

如何判斷型別是否為陣列?

因為使用typeof去檢查陣列,得到的結果會是 'object',所以該如何正確地判斷某個變數為陣列,而非物件?

這時要使用 isArray() 這個方法。

array.isArray([]);   //true
array.isArray(['東邪','西毒','北丐','南帝','中神通']);   //true

array.isArray({});   //false

上一篇
【Day5】不是八卦陣的有序集合:陣列
下一篇
【Day7】人算不如天算的運算式
系列文
JavaScript老學徒筆記—馬步篇35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言